package com.basin.api.vo;

import com.basin.common.core.pojo.BasinNode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * @author: Sam ZHONG | sammy1997@aliyun.com
 * @date: 2025/5/17 13:17
 * @description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UriAuthConfigVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    private String uri;
    private BasinNode<AuthCondition> roleCondition;
    private BasinNode<AuthCondition> permCondition;


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class AuthCondition implements Serializable {
        @Serial
        private static final long serialVersionUID = 1L;

        private String innerMode;
        private List<String> dataList;
        private String nextMode;
    }
}
